//用户信息数据  函数执行会返回数组，一个假接口   用户信息。
function createUserList() {
    return [
        {
            userId: 1,
            avatar:
                'https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif',
            username: 'admin',
            password: '111111',
            desc: '平台管理员',
            roles: ['平台管理员'],
            buttons: ['cuser.detail'],
            routes: ['home'],
            token: 'Admin Token',
        },
        {
            userId: 2,
            avatar:
                'https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif',
            username: 'system',
            password: '111111',
            desc: '系统管理员',
            roles: ['系统管理员'],
            buttons: ['cuser.detail', 'cuser.user'],
            routes: ['home'],
            token: 'System Token',
        },
    ]
}
//对外暴露两个假接口
//登录假接口
//获取用户信息假接口
export default [
    // 用户登录接口
    {
        url: '/api/user/login',//请求地址
        method: 'post',//请求方式
        response: ({ body }) => {
            //获取请求体携带过来的用户名与密码
            const { username, password } = body;
            //调用获取用户信息函数,用于判断是否有此用户
            const checkUser = createUserList().find(
                (item) => item.username === username && item.password === password,
            )
            //没有用户返回失败信息
            if (!checkUser) {
                return { code: 201, data: { message: '账号或者密码不正确' } }
            }
            //如果有返回成功信息
            const { token } = checkUser
            return { code: 200, data: { token } }
        },
    },
    // 获取用户信息
    {
        url: '/api/user/info',
        method: 'get',
        response: (request) => {
            //获取请求头携带token
            const token = request.headers.token;
            //查看用户信息是否包含有次token用户
            const checkUser = createUserList().find((item) => item.token === token)
            //没有返回失败的信息
            if (!checkUser) {
                return { code: 201, data: { message: '获取用户信息失败' } }
            }
            //如果有返回成功信息
            return { code: 200, data: {checkUser} }
        },
    },
     // 用户退出登录接口
     {
        url: '/api/user/logout',
        method: 'post',
        response: (request) => {
            // 获取请求头携带token
            const token = request.headers.token;
            // 检查token是否存在（模拟验证过程）
            const checkUser = createUserList().find((item) => item.token === token);
            
            // 如果token无效（用户未登录）
            if (!checkUser) {
                return { code: 201, data: { message: '用户未登录或token无效' } }
            }
            
            // 模拟退出登录成功 - 实际应用中服务端会使token失效
            return { 
                code: 200, 
                data: { 
                    message: '退出登录成功',
                    // 可以返回一些额外的信息，如重定向路径等
                    redirect: '/login'
                } 
            }
        },
    }
]